#ifndef TEMPLATE_HEAP_CLASS_H
#define TEMPLATE_HEAP_CLASS_H

#include <stdio.h>

class TemplateHeapClass
{
public:
	TemplateHeapClass()
		: element(0)
	{
	}

	TemplateHeapClass(int element)
		: element(element)
	{
	}

	virtual ~TemplateHeapClass()
	{
	}

	bool operator<(const TemplateHeapClass& otherClass) const 
	{
		return element < otherClass.element;
	}

	friend std::ostream& operator <<(std::ostream &os, const TemplateHeapClass &obj);

private:
	int element;
};

std::ostream& operator <<(std::ostream &os, const TemplateHeapClass &obj)
{
	os << obj.element;
    return os;
}

#endif